home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / I-J / If Monks had Macs....cpt / If Monks had Macs... / Meat & Conversation / stack.txt < prev   
Text File  |  1992-02-09  |  11KB  |  391 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 13
  11. -- first background id: 3253
  12. -- card count: 73
  13. -- first card id: 2820
  14. -- list block id: 42097
  15. -- print block id: 0
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 291776 bytes
  21. -- stack block size: 10752 bytes
  22. -- created by hypercard version: 0x01208000
  23. -- compacted by hypercard version: 0x01228000
  24. -- modified by hypercard version: 0x01228000
  25. -- opened by hypercard version: 0x01228000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- If you are looking at this script window and haven't solved the
  69. -- game, then you are possibly contemplating cheating. Your choice,
  70. -- but....                                  Fillmore
  71.  
  72. on cleanScreen
  73.   hide menuBar
  74.   hide msg
  75. end cleanScreen
  76.  
  77. on openCard
  78.   cleanScreen
  79. end openCard
  80.  
  81. on mouseUp
  82.   if mouseH() <10 and mouseV() < 10 then
  83.     show menuBar
  84.   else
  85.     hide menuBar
  86.   end if
  87.   pass mouseUp
  88. end mouseUp
  89.  
  90. on idle
  91.   global GVMLoc
  92.   if commandKey() is down then
  93.     show menuBar
  94.   end if
  95.   if (cd fld "locked" of cd 1) is "locked" then
  96.     set userLevel to 1
  97.     set loc of msg to -1000,-1000
  98.     put empty
  99.   else
  100.     set userLevel to 5
  101.     set loc of msg to 22,300
  102.   end if
  103. end idle
  104.  
  105. on BlinkMe tgt
  106.   if icon of cd btn tgt is 8722 then
  107.     set icon of cd btn tgt to 8723
  108.     exit BlinkMe
  109.   else
  110.     if icon of cd btn tgt is 8723 then
  111.       set icon of cd btn tgt to 8722
  112.     end if
  113.   end if
  114. end BlinkMe
  115.  
  116. on waitSilliness
  117.   global NoiseMaker
  118.   cleanScreen
  119.   set cursor to 3
  120.   push cd
  121.   visual dissolve
  122.   go cd "Wait"
  123.   set cursor to 5
  124.   get random(600)
  125.   put the ticks into temp
  126.   wait until mouse() is down
  127.   if the ticks - temp > it then
  128.     set cursor to 3
  129.     show cd fld "TooLong"
  130.     play "Boing" "Bbs G D3e"
  131.     wait until the sound is "Done"
  132.     visual dissolve
  133.     if NoiseMaker is empty then
  134.       put "Bosch" into NoiseMaker
  135.     else
  136.       go cd noiseMaker
  137.     end if
  138.     hide cd fld "TooLong" of cd "Wait"
  139.     wait 60
  140.   else
  141.     play "harpsichord" "Ds G Bbe"
  142.   end if
  143.   visual dissolve
  144.   pop cd
  145.   put empty into NoiseMaker
  146. end waitSilliness
  147.  
  148. on Reset
  149.   cleanScreen
  150.   set cursor to 3
  151.   visual wipe right
  152.   go cd "The Devil's Bedroom"
  153.   visual wipe right
  154.   go cd folded
  155.   visual wipe left
  156.   go cd over
  157.   visual scroll left fast
  158.   go cd title
  159. end Reset
  160.  
  161. on closeBook
  162.   cleanScreen
  163.   answer "Explore the Library stacks or Quit?" & return &return &"(‚ÄúHome‚Äù stack? - Option-click ‚ÄúLibrary‚Äù)" with "Library" or "Quit" or "Cancel"
  164.   if it is "library" then
  165.     set cursor to 3
  166.     if short name of this bg is "Location" then
  167.       visual scroll left
  168.     else
  169.       visual wipe right
  170.     end if
  171.     if optionKey() is down then
  172.       go cd 1
  173.       visual barn door close to grey
  174.       visual dissolve to gray
  175.       visual zoom in
  176.       go home
  177.     else
  178.       go cd 1
  179.       visual barn door close to black
  180.       visual dissolve to black
  181.       visual zoom in
  182.       go stack "Library"
  183.       if result() is empty then else beep
  184.     end if
  185.   end if
  186.   if it is "Quit" then
  187.     doMenu "Quit HyperCard"
  188.   end if
  189. end closeBook
  190.  
  191. on arrowKey
  192.   if (cd fld "locked" of cd 1) is "locked" then
  193.   else
  194.     pass arrowKey
  195.   end if
  196. end arrowKey
  197.  
  198. on doMenu whichItem
  199.   global MenuPhrases
  200.   if whichitem is "If Monks Had Macs..." then
  201.     answer "       This stack is from the package" &return &"       ‚ÄúIf Monks Had Macs...‚Äù 2.5.7" &return &"       ¬©1988,1989  riverTEXT‚Ñ¢"
  202.     if short name of this cd is "Title" then
  203.       send mouseUp to cd btn "About"
  204.     end if
  205.     exit domenu
  206.   end if
  207.   if whichItem is in "First,Prev,Next,Last,Recent,Back,Find..." or last word of whichItem is "Info..." or first word of whichItem is "Print" then
  208.     if (cd fld "locked" of cd 1) is "locked" then
  209.       get item (random(6)) of menuPhrases
  210.       answer it with "Sorry."
  211.     else
  212.       pass doMenu
  213.     end if
  214.   else
  215.     if first word of whichItem is in "Paste,Delete,Cut,Copy,New,Background" then
  216.       answer "Changing the stack might destroy the links in the game and " &"render it unplayable." with "Risk It" or "Cancel"
  217.       if it is not "Cancel" then
  218.         pass doMenu
  219.       else
  220.         exit doMenu
  221.       end if
  222.     else
  223.       if WhichItem is "Quit HyperCard" then
  224.         put the userLevel into tempULevel
  225.         set userLevel to 5
  226.         if the freesize of this stack > 2000 and the diskspace > the size of this stack then
  227.           Answer "Turn up corners, remove markers, and compress book?" with "Compact" or "Next time" or "Cancel"
  228.           If it is "Compact" then
  229.             if cantmodify of this stack is false then
  230.               if short name of this bg is "Location" then
  231.                 visual scroll left
  232.               else
  233.                 visual wipe right
  234.               end if
  235.               go cd 1
  236.               lock screen
  237.               show cd fld "GoodbyeNote"
  238.               unlock screen with dissolve
  239.               doMenu "Compact Stack"
  240.               lock screen
  241.               hide cd fld "GoodbyeNote"
  242.               unlock screen with dissolve
  243.             else
  244.               show menuBar
  245.               answer "The Cantmodify of this stack is set to true," &" so compacting is impossible at this time. Next session?" with "OK"
  246.             end if
  247.           end if
  248.           if it is "Cancel" then
  249.             exit doMenu
  250.           end if
  251.           set userLevel to TempULevel
  252.         end if
  253.       end if
  254.       pass doMenu
  255.     end if
  256.   end if
  257. end doMenu
  258.  
  259. on openStack
  260.   global Stacks,GVMLoc
  261.   global CardWord,ActionWord,Action1,Object2,tryCounter
  262.   global InvList,TakeTemp,ItemList,CardList,MenuPhrases
  263.   put empty into InvList
  264.   put loc of msg into GVMLoc
  265.   cleanScreen
  266.   if the version < 1.2 then
  267.     Answer "Hypercard version 1.2, or later, is available at your " &"Apple dealer. Many functions of this stack require the new " &"features.  Continue?" with "Risk It" or "Go Home"
  268.     if it is "Go Home" then
  269.       go home
  270.       exit openStack
  271.     end if
  272.   end if
  273.   set cursor to 3
  274.   if stacks is empty then
  275.     CheckGlobals
  276.   end if
  277.   About " ","If Monks Had Macs..."
  278.   set userLevel to 5
  279.   put "CardWord,ActionWord,Action1,Object2,tryCounter," &"InvList,TakeTemp,ItemList,CardList" into ClearList
  280.   repeat with i = 1 to number of items of ClearList
  281.     get item i of clearList
  282.     do "put empty into " &it
  283.   end repeat
  284.   hide tool window
  285.   set blindTyping to false
  286.   set powerKeys to false
  287.   choose browse tool
  288.   visual wipe right
  289.   go cd 1
  290.   put "Cheaters never prosper.,That isn't possible at this time.," &"Can't do that for you.,The answers aren't in the menuBar.," &"The solution to the puzzle is in one or more buttons on the card.," &"Navigate using the buttons on the cards only." into MenuPhrases
  291. end openStack
  292.  
  293. on CheckGlobals
  294.   global GULevel,GPKeys,GTArrows
  295.   global GVPatn,GBTyping,GVMsg,GVTool
  296.   getHomeInfo
  297.   put the userLevel into GULevel
  298.   put the powerKeys Into GPKeys
  299.   put the textArrows into GTArrows
  300.   put the blindTyping into GBTyping
  301.   put the visible of the msg into GVMsg
  302.   put the visible of tool window into GVTool
  303.   put the visible of pattern window into GVPatn
  304. end CheckGlobals
  305.  
  306. on closeStack
  307.   global GULevel,GPKeys,GTArrows
  308.   Global GVPatn,GBTyping,GVMLoc,GVMsg,GVTool
  309.   global CardWord,ActionWord,Action1,Object2,tryCounter
  310.   global InvList,TakeTemp,ItemList,CardList,DropG,MenuPhrases
  311.   cleanScreen
  312.   set cursor to 3
  313.   if GULevel is empty then
  314.     CheckGlobals
  315.   end if
  316.   set the userLevel to GULevel
  317.   set the powerKeys to GPKeys
  318.   set the textArrows to GTArrows
  319.   set the blindTyping to GBTyping
  320.   set the loc of msg to GVMLoc
  321.   set the visible of the msg to GVMsg
  322.   set the visible of tool window to GVTool
  323.   set the visible of pattern window to GVPatn
  324.   put "CardWord,ActionWord,Action1,Object2,tryCounter," &"InvList,TakeTemp,ItemList,CardList" into ClearList
  325.   repeat with i = 1 to number of items of ClearList
  326.     get item i of clearList
  327.     do "put empty into " &it
  328.   end repeat
  329.   if DropG is not empty then
  330.     repeat with i = 1 to number of cds of bg "location"
  331.       if (bg fld "Dropped" of cd i of bg "location") is not empty then
  332.         put empty into bg fld "Dropped" of cd i of bg "location"
  333.       end if
  334.     end repeat
  335.   end if
  336.   put empty into MenuPhrases
  337.   about
  338. end closeStack
  339.  
  340. on edit
  341.   if (cd fld "locked" of cd 1) is "locked" then
  342.   else
  343.     pass edit
  344.   end if
  345. end edit
  346.  
  347. on sort
  348.   answer "You do not want to sort this stack!!!!" with "Right!!!"
  349. end sort
  350.  
  351. on show
  352.   if (cd fld "locked" of cd 1) is "locked" then
  353.     put msg into temp
  354.     get last word of msg
  355.     if first word of temp is "Show" then
  356.       if it is "cards" or it is "cds" or it is "card" or it is "cd" then
  357.         put empty
  358.         hide msg
  359.         answer "That's cheating." with "Sorry."
  360.         cleanScreen
  361.         exit show
  362.       else
  363.         pass show
  364.       end if
  365.     else
  366.       pass show
  367.     end if
  368.   else
  369.     pass show
  370.   end if
  371. end show
  372.  
  373. -- Designed by Brian Thomas
  374. -- Scripted by Phillip A. Mohr, Jr.
  375. -- The list of people who deserve thanks (or blame) for the scripts
  376. -- in this stack would have to include everyone whose work is represented
  377. -- in my collection of HyperCard stacks. Since I haven't yet written the
  378. -- script that will extract a list of the names of those authors, I'll
  379. -- just offer a blanket thank you to those who see something that looks
  380. -- familiar.
  381. -- Send comments to either:
  382. -- Philip A. Mohr, Jr, 4405 N. Rosemead Blvd., #119, Rosemead, CA 91770,
  383. -- or Brian Thomas,
  384. -- Meat and Conversation created and copyrighted 1988-1989
  385. -- If this stack is used as the basis for another game, all we
  386. -- expect as recompense is a that a copy of your completed stack
  387. -- be posted on one or more of the major PD distribution services
  388. -- (CompuServe, Genie, etc.).
  389. -- Portions of this stack ¬©1988-1989 by Philip A. Mohr, Jr. Permission
  390. -- is hereby granted for its non-commercial use and distribution.
  391.